docstring

Python 開發必學: docstring 文件字串 📝

文件字串是 Python 最重要的文件撰寫工具之一,讓我們來看看該如何寫出好的 docstring! 🐍

什麼是 docstring?

Docstring (文件字串) 是 Python 中用於描述模組、類別、函數或方法功能的多行註釋。它們不只是註解,而是可被程式讀取的文件。Python 官方推薦使用 docstring 作為代碼文件化的標準方式。

常見的 docstring 風格

  1. Google 風格 - 簡潔易讀,使用縮排分隔區塊
  2. NumPy/SciPy 風格 - 科學計算領域常用,支援複雜參數說明
  3. reStructuredText (reST) - Python 官方文件使用的格式
  4. Epytext 風格 - 類似 Javadoc 的格式

docstring 與程式開發效率

良好的 docstring 能大幅提升開發效率,特別是在大型專案或團隊協作中。它提供即時文件查詢,減少溝通成本,並支援自動化文件生成工具如 Sphinx、pdoc 或 MkDocs。

💡 提示: 養成撰寫 docstring 的習慣,能讓你的程式碼更專業、更易於維護!


基本用法與範例

# 一個標準的函數 docstring 範例
def calculate_sum(x, y):
    """計算並回傳兩個數字的總和

    Parameters:
        x: 第一個數字
        y: 第二個數字

    Returns:
        兩個數字的和
    """
    return x + y

# 查看文件字串的方法
print(calculate_sum.__doc__)  # 印出函數的文件字串
help(calculate_sum)           # 顯示完整說明文件

類別的 docstring 示範

class DataProcessor:
    """用於處理資料的類別

    這個類別提供基本的資料處理功能。
    """

    def __init__(self, data):
        """初始化資料處理器      

        Args:
            data: 要處理的原始資料
        """
        self.data = data

# 查看文件字串的方法
print(calculate_sum.__doc__)  # 印出函數的文件字串
help(DataProcessor)          # 顯示完整說明文件

✨ 重點解析

類別定義 (DataProcessor)

  • 使用 class 關鍵字定義
  • 有類別層級的文件字串,說明類別用途
  • __init__ 方法是構造函數,用於初始化物件
  • 接收 data 參數並儲存為實例屬性 self.data
  • 關於類別class: 之後會有單元獨立介紹,請期待

🔍 重要觀念整理

  1. docstring 必須放在函數/類別定義的第一行
  2. 使用三引號 (''' 或 """) 包覆內容
  3. 建議包含:功能說明、參數描述、回傳值說明
  4. 可使用 help().__doc__ 查看內容

💡 為什麼要寫 docstring?

  • 讓程式碼更容易維護
  • 可自動產生技術文件
  • 幫助團隊合作
  • IDE 可提供更好的提示

#Python #程式開發 #技術文件 #Python文件 #程式碼品質

💭 你平常寫程式時會習慣寫文件字串嗎?哪種風格的 docstring 是你的最愛?